home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / amos / eaissu3b.lha / Source_Code / AK_Mini_DRAW_Letters.AMOS / AK_Mini_DRAW_Letters.amosSourceCode
AMOS Source Code  |  1995-12-30  |  9KB  |  347 lines

  1. ' Mini DRAW letters by Mushroom !!!
  2. '
  3. ' Use the source in this as freeeeeeely as you like as long as i get a 
  4. ' mention in the credits !!!!! 
  5. '
  6. ' X and Y control graphic positions of PLOT and DRAW 
  7. ' LINE$ is the text you want to print
  8. '
  9. ' Run for an example ........
  10. '
  11. ' All done in Low res !!!!!! 
  12. '
  13. ' DRAWing is over 50% faster when compiled !!!!! 
  14. '
  15. ' For an ASCII viewer using this font, that loads in normal and powerpacked
  16. ' text, write to me at the given address and send me a disk of source etc. and 
  17. ' I will send you some back also !!! 
  18. '
  19. Screen Open 0,320,256,16,Lowres
  20. Global Y,X
  21. Def Scroll 1,0,0 To 320,256,0,-1
  22. Paper 0 : Cls 
  23. Do 
  24.    Y=0 : X=250
  25.    LINE$="Well, do you like it ?" : Gosub GRAB : Y=0 : X=X+6
  26.    For N=1 To 7 : Scroll 1 : Wait Vbl : Next N
  27.    LINE$="I can type up most ASCII characters, and i'm not case sensitive !!!" : Gosub GRAB
  28.    Y=0 : X=X+6 : For N=1 To 7 : Scroll 1 : Wait Vbl : Next N
  29.    LINE$="abcdefghijklmnopqrstuvwxyz 01234567890 ,.<>?/#:;][|\=+-_)(*%$�!"+Chr$(34)
  30.    Gosub GRAB
  31.    Y=0 : X=X+6
  32.    LINE$="If you would like to contact me about any amos related subject then write to:"
  33.    Gosub GRAB
  34.    Y=0 : X=X+6
  35.    For N=1 To 7 : Scroll 1 : Wait Vbl : Next N
  36.    LINE$="          Andrew 'mushroom' kellett" : Gosub GRAB : Y=0 : X=X+6
  37.    LINE$="          32 castleton crescent" : Gosub GRAB : Y=0 : X=X+6
  38.    LINE$="          Gamesley" : Gosub GRAB : Y=0 : X=X+6
  39.    LINE$="          Glossop" : Gosub GRAB : Y=0 : X=X+6
  40.    LINE$="          Derbyshire" : Gosub GRAB : Y=0 : X=X+6
  41.    LINE$="          Sk13 9th" : Gosub GRAB : Y=0 : X=X+6
  42.    LINE$="          ENGLAND" : Gosub GRAB : Y=0 : X=X+6
  43.    For N=1 To 7 : Scroll 1 : Wait Vbl : Next N
  44.    LINE$="Wrapping around !!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
  45.    For N=1 To 256 : Scroll 1 : Next N
  46. Loop 
  47. '
  48. Procedure LETA
  49.    Draw Y,X To Y+2,X : Draw Y,X To Y,X+4 : Draw Y,X To Y,X+2
  50.    Draw Y,X+2 To Y+2,X+2 : Draw Y+2,X To Y+2,X+4
  51.    Y=Y+4
  52. End Proc
  53. Procedure LETB
  54.    Draw Y,X To Y,X+4 : Draw Y,X To Y+1,X : Draw Y,X+2 To Y+1,X+2
  55.    Draw Y,X+4 To Y+1,X+4 : Plot Y+2,X+1 : Plot Y+2,X+3
  56.    Y=Y+4
  57. End Proc
  58. Procedure LETC
  59.    Draw Y,X To Y+2,X : Draw Y,X To Y,X+4 : Draw Y,X+4 To Y+2,X+4
  60.    Y=Y+4
  61. End Proc
  62. Procedure LETD
  63.    Draw Y,X To Y+1,X : Draw Y,X To Y,X+4 : Draw Y,X+4 To Y+1,X+4
  64.    Draw Y+2,X+1 To Y+2,X+3
  65.    Y=Y+4
  66. End Proc
  67. Procedure LETE
  68.    Draw Y,X To Y+1,X : Draw Y,X To Y,X+4 : Draw Y,X+4 To Y+1,X+4
  69.    Draw Y,X+2 To Y+1,X+2
  70.    Y=Y+3
  71. End Proc
  72. Procedure LETF
  73.    Draw Y,X To Y+2,X : Draw Y,X To Y,X+4 : Draw Y,X+2 To Y+1,X+2
  74.    Y=Y+4
  75. End Proc
  76. Procedure LETG
  77.    Draw Y,X To Y+2,X : Draw Y,X To Y,X+4 : Draw Y,X+4 To Y+2,X+4
  78.    Draw Y+2,X+4 To Y+2,X+2
  79.    Y=Y+4
  80. End Proc
  81. Procedure LETH
  82.    Draw Y,X To Y,X+4 : Draw Y+2,X To Y+2,X+4 : Draw Y,X+2 To Y+2,X+2
  83.    Y=Y+4
  84. End Proc
  85. Procedure LETI
  86.    Draw Y,X To Y,X+4
  87.    Y=Y+2
  88. End Proc
  89. Procedure LETJ
  90.    Draw Y+2,X To Y+2,X+4 : Draw Y+2,X+4 To Y,X+4 : Draw Y,X+2 To Y,X+4
  91.    Y=Y+4
  92. End Proc
  93. Procedure LETK
  94.    Draw Y,X To Y,X+4 : Draw Y,X+2 To Y+1,X+2 : Draw Y+1,X+2 To Y+3,X
  95.    Draw Y+1,X+2 To Y+3,X+4
  96.    Y=Y+5
  97. End Proc
  98. Procedure LETL
  99.    Draw Y,X To Y,X+4 : Draw Y,X+4 To Y+2,X+4
  100.    Y=Y+4
  101. End Proc
  102. Procedure LETM
  103.    Draw Y,X To Y,X+4 : Draw Y+1,X+1 To Y+1,X+1 : Draw Y+2,X+4 To Y+2,X
  104.    Y=Y+4
  105. End Proc
  106. Procedure LETN
  107.    Draw Y,X To Y+1,X : Draw Y,X To Y,X+4 : Draw Y+2,X+1 To Y+2,X+4
  108.    Y=Y+4
  109. End Proc
  110. Procedure LETO
  111.    Draw Y,X To Y,X+4 : Draw Y,X To Y+2,X : Draw Y,X+4 To Y+2,X+4 : Draw Y+2,X To Y+2,X+4
  112.    Y=Y+4
  113. End Proc
  114. Procedure LETP
  115.    Draw Y,X To Y,X+4 : Draw Y,X To Y+1,X : Draw Y+2,X To Y+2,X+2 : Draw Y,X+2 To Y+2,X+2
  116.    Y=Y+4
  117. End Proc
  118. Procedure LETQ
  119.    Draw Y,X To Y+2,X : Draw Y,X To Y,X+2 : Draw Y+2,X To Y+2,X+4 : Draw Y,X+2 To Y+2,X+2
  120.    Y=Y+4
  121. End Proc
  122. Procedure LETR
  123.    Draw Y,X To Y,X+4 : Draw Y,X To Y+2,X : Draw Y+2,X To Y+2,X+2 : Draw Y,X+2 To Y+2,X+2
  124.    Draw Y,X+2 To Y+2,X+4
  125.    Y=Y+4
  126. End Proc
  127. Procedure LETS
  128.    Draw Y,X To Y+2,X : Draw Y,X To Y,X+2 : Draw Y,X+2 To Y+2,X+2 : Draw Y+2,X+2 To Y+2,X+4
  129.    Draw Y,X+4 To Y+2,X+4
  130.    Y=Y+4
  131. End Proc
  132. Procedure LETT
  133.    Draw Y,X To Y+2,X : Draw Y+1,X To Y+1,X+4
  134.    Y=Y+4
  135. End Proc
  136. Procedure LETU
  137.    Draw Y,X To Y,X+4 : Draw Y+2,X To Y+2,X+4 : Draw Y,X+4 To Y+2,X+4
  138.    Y=Y+4
  139. End Proc
  140. Procedure LETV
  141.    Draw Y,X To Y,X+3 : Draw Y+2,X To Y+2,X+3 : Plot Y+1,X+4
  142.    Y=Y+4
  143. End Proc
  144. Procedure LETW
  145.    Draw Y,X To Y,X+4 : Draw Y+2,X To Y+2,X+4 : Plot Y+1,X+3
  146.    Y=Y+4
  147. End Proc
  148. Procedure LETX
  149.    Draw Y,X+4 To Y+3,X : Draw Y,X To Y+3,X+4
  150.    Y=Y+5
  151. End Proc
  152. Procedure LETY
  153.    Draw Y,X To Y,X+1 : Draw Y+2,X To Y+2,X+1 : Draw Y+1,X+2 To Y+1,X+4
  154.    Y=Y+4
  155. End Proc
  156. Procedure LETZ
  157.    Draw Y,X To Y+2,X : Draw Y,X+4 To Y+2,X+4 : Draw Y,X+4 To Y+2,X
  158.    Y=Y+4
  159. End Proc
  160. Procedure NUM0
  161.    Draw Y,X+1 To Y,X+3 : Draw Y+2,X+1 To Y+2,X+3 : Plot Y+1,X : Plot Y+1,X+4
  162.    Y=Y+4
  163. End Proc
  164. Procedure NUM1
  165.    Proc LETI
  166. End Proc
  167. Procedure NUM2
  168.    Draw Y,X To Y+2,X : Draw Y,X+2 To Y+2,X+2 : Draw Y,X+4 To Y+2,X+4
  169.    Draw Y+2,X To Y+2,X+2 : Draw Y,X+2 To Y,X+4
  170.    Y=Y+4
  171. End Proc
  172. Procedure NUM3
  173.    Draw Y,X To Y+2,X : Draw Y,X+2 To Y+2,X+2 : Draw Y,X+4 To Y+2,X+4 : Draw Y+2,X To Y+2,X+4
  174.    Y=Y+4
  175. End Proc
  176. Procedure NUM4
  177.    Draw Y,X To Y,X+3 : Draw Y,X+3 To Y+2,X+3 : Draw Y+1,X+2 To Y+1,X+4
  178.    Y=Y+4
  179. End Proc
  180. Procedure NUM5
  181.    Draw Y,X To Y,X+2 : Draw Y,X+2 To Y+1,X+2 : Draw Y,X+4 To Y+1,X+4 : Plot Y+2,X+3
  182.    Draw Y,X To Y+2,X
  183.    Y=Y+4
  184. End Proc
  185. Procedure NUM6
  186.    Draw Y,X To Y,X+4 : Draw Y,X+2 To Y+2,X+2 : Draw Y,X+4 To Y+2,X+4 : Draw Y+2,X+2 To Y+2,X+4
  187.    Y=Y+4
  188. End Proc
  189. Procedure NUM7
  190.    Draw Y,X To Y+2,X : Draw Y+2,X To Y+2,X+4
  191.    Y=Y+4
  192. End Proc
  193. Procedure NUM8
  194.    Draw Y,X To Y+2,X : Draw Y,X To Y,X+4 : Draw Y+2,X To Y+2,X+4 : Draw Y,X+4 To Y+2,X+4
  195.    Draw Y,X+2 To Y+2,X+2
  196.    Y=Y+4
  197. End Proc
  198. Procedure NUM9
  199.    Proc LETQ
  200. End Proc
  201. Procedure FULL
  202.    Plot Y+1,X+4
  203.    Y=Y+4
  204. End Proc
  205. Procedure COMM
  206.    Draw Y,X+4 To Y+2,X+3
  207.    Y=Y+4
  208. End Proc
  209. Procedure MIUS
  210.    Draw Y,X+2 To Y+2,X+2
  211.    Y=Y+4
  212. End Proc
  213. Procedure EXCL
  214.    Draw Y,X To Y,X+2 : Plot Y,X+4
  215.    Y=Y+3
  216. End Proc
  217. Procedure OLON
  218.    Plot Y,X+1 : Plot Y,X+3
  219.    Y=Y+3
  220. End Proc
  221. Procedure LASH
  222.    Draw Y,X+4 To Y+2,X
  223.    Y=Y+4
  224. End Proc
  225. Procedure STAR
  226.    Plot Y,X : Plot Y,X+4 : Plot Y+2,X : Plot Y+2,X+4 : Plot Y,X+2 : Plot Y+2,X+2
  227.    Draw Y+1,X+1 To Y+1,X+3
  228.    Y=Y+4
  229. End Proc
  230. Procedure SPECH
  231.    Draw Y,X To Y,X+1 : Draw Y+2,X To Y+2,X+1
  232.    Y=Y+4
  233. End Proc
  234. Procedure UNDR
  235.    Draw Y,X+4 To Y+2,X+4
  236.    Y=Y+4
  237. End Proc
  238. Procedure DLL
  239.    Proc LETS
  240.    Draw Y-3,X-1 To Y-3,X+4
  241. End Proc
  242. Procedure EQL
  243.    Draw Y,X+1 To Y+2,X+1 : Draw Y,X+3 To Y+2,X+3
  244.    Y=Y+4
  245. End Proc
  246. Procedure PND
  247.    Draw Y+1,X To Y+1,X+4 : Draw Y,X+2 To Y+2,X : Draw Y,X+4 To Y+2,X+4
  248.    Y=Y+4
  249. End Proc
  250. Procedure PCNT
  251.    Draw Y,X+4 To Y+2,X : Plot Y,X : Plot Y+2,X+4
  252.    Y=Y+4
  253. End Proc
  254. Procedure _AND
  255.    Proc PLS
  256. End Proc
  257. Procedure PLS
  258.    Draw Y+1,X To Y+1,X+4 : Draw Y,X+2 To Y+2,X+2
  259.    Y=Y+4
  260. End Proc
  261. Procedure BR1
  262.    Draw Y,X+1 To Y,X+3 : Plot Y+1,X : Plot Y+1,X+4
  263.    Y=Y+3
  264. End Proc
  265. Procedure BR2
  266.    Draw Y+1,X+1 To Y+1,X+3 : Plot Y,X : Plot Y,X+4
  267.    Y=Y+3
  268. End Proc
  269. Procedure BR3
  270.    Draw Y,X To Y,X+4 : Plot Y+1,X : Plot Y+1,X+4
  271.    Y=Y+3
  272. End Proc
  273. Procedure BR4
  274.    Draw Y+1,X To Y+1,X+4 : Plot Y,X : Plot Y,X+4
  275.    Y=Y+3
  276. End Proc
  277. Procedure CLN
  278.    Proc COMM
  279.    Plot Y-3,X+1
  280. End Proc
  281. Procedure LASH2
  282.    Draw Y,X To Y+2,X+4
  283.    Y=Y+4
  284. End Proc
  285. Procedure QST
  286.    Draw Y,X To Y+2,X : Draw Y+2,X To Y+2,X+2 : Plot Y+1,X+4 : Plot Y+1,X+2
  287.    Y=Y+4
  288. End Proc
  289. Procedure AUP
  290.    Draw Y+2,X+4 To Y,X+2 : Draw Y,X+2 To Y+2,X
  291.    Y=Y+4
  292. End Proc
  293. Procedure ADWN
  294.    Draw Y,X+4 To Y+2,X+2 : Draw Y+2,X+2 To Y,X
  295.    Y=Y+4
  296. End Proc
  297. Procedure APH
  298.    Draw Y+1,X+1 To Y+2,X
  299.    Y=Y+4
  300. End Proc
  301. Procedure HORZ
  302.    Draw Y+1,X-1 To Y+1,X+4
  303.    Y=Y+4
  304. End Proc
  305. Procedure _SPC
  306.    Y=Y+4
  307. End Proc
  308. STATS:
  309. If Y=>310 Then Y=0 : X=X+6
  310. If X>250 Then For PLOP=1 To 7 : Scroll 1 : Wait Vbl : Next PLOP : X=X-6
  311. Return 
  312. GRAB:
  313. NNN=1
  314. OOO=Len(LINE$)
  315. GRABB:
  316. III$=Mid$(LINE$,NNN,1)
  317. Gosub STATS
  318. If Asc(III$)=9 Then Y=Y+24 : Goto ITION
  319. If III$=Chr$(96) Then Proc APH : Goto ITION
  320. If III$=" " Then Y=Y+4 : Goto ITION
  321. If III$="@" Then Y=Y+4 : Goto ITION
  322. If III$="#" Then Proc STAR : Goto ITION
  323. TXT$="abcdefghijklmnopqrstuvwxyz0123456789.,-!:/*"+Chr$(34)+"_$=�%&+()[];\?<>'| "
  324. ' Search for the wanted character
  325. LLL=Len(TXT$) : MMM=1
  326. KLIK=Mouse Key
  327. If KLIK=1 Then Gosub PAUSE : KLIK=0
  328. If KLIK=2 Then Erase 3 : Erase 10 : Default : End 
  329. Do 
  330.    JJJ$=Mid$(TXT$,MMM,1) : If Upper$(III$)=Upper$(JJJ$) Then Exit 
  331.    MMM=MMM+1
  332.    If MMM=>LLL Then Y=Y+3 : Exit 
  333. Loop 
  334. If MMM>LLL Then NNN=NNN+1 : Goto GRABB
  335. On MMM Proc LETA,LETB,LETC,LETD,LETE,LETF,LETG,LETH,LETI,LETJ,LETK,LETL,LETM,LETN,LETO,LETP,LETQ,LETR,LETS,LETT,LETU,LETV,LETW,LETX,LETY,LETZ,NUM0,NUM1,NUM2,NUM3,NUM4,NUM5,NUM6,NUM7,NUM8,NUM9,FULL
  336. On(MMM-37) Proc COMM,MIUS,EXCL,OLON,LASH,STAR,SPECH,UNDR,DLL,EQL,PND,PCNT,_AND,PLS,BR1,BR2,BR3,BR4,CLN,LASH2,QST,AUP,ADWN,APH,HORZ,_SPC
  337. ITION:
  338. NNN=NNN+1
  339. If NNN>OOO Then Goto FIND
  340. Goto GRABB
  341. PAUSE:
  342. Repeat 
  343.    KLIK=Mouse Key
  344. Until KLIK=0
  345. Return 
  346. FIND:
  347. Return